package com.intellagric.dao.traceability;

import com.intellagric.common.pojo.ResponseMessage;
import com.intellagric.pojo.TraceTable;
import com.intellagric.pojo.TraceTableRows;
import org.apache.ibatis.annotations.Param;

import java.util.LinkedHashMap;
import java.util.List;

/**
 * @Author: zhy
 * @email: 1269679946@qq.com
 * @Date: 2019/2/22
 * @DESC： 数据表格数据定义操作和数据管理操作
 */
public interface TableDao {

    //创建表格---接收多种类型的参数
    Integer createTable(@Param("tableName") String tableName,@Param("list") List<TraceTableRows> list);

    //修改表格信息
    Integer updateTable(TraceTable table,TraceTableRows tableRows);

    //删除表格
    Integer deleteTable(@Param("tableName") String tableName);

    //查询数据列表
    List<LinkedHashMap<String, Object>> executeSelectSql(@Param("tableName") String tableName,@Param("produceBatchId") String produceBatchId,@Param("processId") String processId);

    //查询单条数据列表
    List<LinkedHashMap<String, Object>> executeSelectOneSql(@Param("id") String id,@Param("tableName") String tableName);

    //插入数据
    int executeInsertSql(@Param("tableName") String tableName,@Param("list") List<String> list);

    //修改数据操作
    int executeUpdateSql(String sql);

    //删除数据操作
    int executeDeleteSql(@Param("id") String id,@Param("tableName") String tableName);

}
